home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 1 / Meeting Pearls Vol 1 (1994).iso / installed_progs / text / faqs / free-compilers.part4 < prev    next >
Encoding:
Internet Message Format  |  1994-05-02  |  52.7 KB

  1. Subject: Catalog of compilers, interpreters, and other language tools [p4of5]
  2. Newsgroups: comp.compilers,comp.lang.misc,comp.archives.admin,news.answers,comp.answers
  3. From: free-compilers@idiom.berkeley.ca.us (Steve Robenalt)
  4. Date: Sun, 1 May 1994 11:00:40 GMT
  5.  
  6. Archive-name: free-compilers/part4
  7. Last-modified: 1994/4/29
  8. Version: 6.5
  9.  
  10.  
  11.  
  12. concurrent, parallel, and simulation languages
  13. -------------------------------------------------------------------------------
  14. category:    concurrent, parellel, and simulation languages
  15. description:    This is a fairly broad category of languages.  Most of the
  16.         implementations in this set are not good enough to be used in
  17.         production systems.  Some are.    In addition to those listed
  18.         below, see:
  19. lref:        Concurrent Clean
  20. lref:        Concurrent ML
  21. lref:        EuLisp
  22. lref:        Parallaxis
  23. lref:        Maisie
  24. lref:        micro-C++
  25. lref:        MeldC
  26. lref:        pm2
  27.  
  28. language:    ABCL/1 (An object-Based Concurrent Language)
  29. package:    ABCL/1 
  30. version:    ?
  31. parts:        ?
  32. author:        Akinori Yonezawa, ABCL Group now at Department of Information 
  33.         Science, the University of Tokyo
  34. how to get:    ftp pub/abcl1/* from camille.is.s.u-tokyo.ac.jp
  35. description:    Asynchronous message passing to objects.  
  36. reference:    "ABCL: An Object-Oriented Concurrent System", Edited by 
  37.         Akinori Yonezawa, The MIT Press, 1990, (ISBN 0-262-24029-7)
  38. restriction:    no commercial use, must return license agreement
  39. requires:    Common Lisp
  40. contact:    abcl@is.s.u-tokyo.ac.jp
  41. updated:    1990/05/23
  42.  
  43. language:    ABCL ???
  44. package:    ABCL/R2
  45. version:    ?
  46. parts:        ?
  47. author:        masuhara@is.s.u-tokyo.ac.jp, matsu@is.s.u-tokyo.ac.jp,
  48.         takuo@is.s.u-tokyo.ac.jp, yonezawa@is.s.u-tokyo.ac.jp
  49. how to get:    ftp pub/abclr2/* from camille.is.s.u-tokyo.ac.jp
  50. description:    ABCL/R2 is an object-oriented concurrent reflective language
  51.         based on Hybrid Group Architecture.  As a reflective language,
  52.         an ABCL/R2 program can dynamically control its own behavior,
  53.         such as scheduling policy, from within user-program.  An an
  54.         object-oriented concurrent language, this system has almost all
  55.         functions of ABCL/1.
  56. requires:    Common Lisp
  57. updated:    1993/01/28
  58.  
  59. language:    ALLOY
  60. package:    ALLOY
  61. version:    2.0?
  62. parts:        interpreter, documentation, examples
  63. author:        Thanasis Mitsolides <mitsolid@cs.nyu.edu>
  64. how to get:    ftp pub/local/alloy/* from cs.nyu.edu
  65. description:    ALLOY is a higher level parallel programming language
  66.         appropriate for programming massively parallel computing
  67.         systems.  It is based on a combination of ideas from
  68.         functional, object oriented and logic programming languages.
  69.         The result is a language that can directly support
  70.         functional, object oriented and logic programming styles
  71.         in a unified and controlled framework.    Evaluating modes
  72.         support serial or parallel execution, eager or lazy
  73.         evaluation, non-determinism or multiple solutions etc.
  74.         ALLOY is simple as it only requires 29 primitives in all
  75.         (half of which for Object Oriented Programming support).
  76. ports:        sparc, ?
  77. updated:    1991/06/11
  78.  
  79. language:    Cellang (Cellular Automata)
  80. package:    Cellular
  81. version:    2.0
  82. parts:        byte-code compiler, runtime, viewer
  83. author:        J Dana Eckart <dana@rucs.faculty.cs.runet.edu>
  84. how to get:    comp.sources.unix, volume 26
  85. description:    A system for cellular automata programming.
  86. updated:    1993/04/03
  87.  
  88. language:    Hermes
  89. package:    IBM Watson prototype Hermes system
  90. version:    0.8alpha patchlevel 01
  91. parts:        bytecode compiler, compiler(bytecode->C), runtime
  92. author:        Andy Lowry <lowry@watson.ibm.com>
  93. how to get:    ftp pub/hermes/README from software.watson.ibm.com
  94. description:    Hermes is a very-high-level integrated language and
  95.         system for implementation of large systems and
  96.         distributed applications, as well as for
  97.         general-purpose programming.  It is an imperative,
  98.         strongly typed, process-oriented language.  Hermes
  99.         hides distribution and heterogeneity from the
  100.         programmer.  The programmer sees a single abstract
  101.         machine containing processes that communicate using
  102.         calls or sends.     The compiler, not the programmer,
  103.         deals with the complexity of data structure layout,
  104.         local and remote communication, and interaction with
  105.         the operating system.  As a result, Hermes programs are
  106.         portable and easy to write.  Because the programming
  107.         paradigm is simple and high level, there are many
  108.         opportunities for optimization which are not present in
  109.         languages which give the programmer more direct control
  110.         over the machine.
  111. reference:    Strom, Bacon, Goldberg, Lowry, Yellin, Yemini. Hermes: A
  112.         Language for Distributed Computing. Prentice-Hall, Englewood
  113.         Cliffs, NJ.  1991.  ISBN: O-13-389537-8.
  114. ports:        RS6000 Sun-4 NeXT IBM-RT/bsd4.3 (Sun-3 and Convex soon)
  115. discussion:    comp.lang.hermes
  116. updated:    1992/03/22
  117.  
  118. language:    PCN
  119. package:    PCN
  120. version:    2.0
  121. parts:        compiler?, runtime, linker, libraries, tools, debugger, 
  122.         profiler, tracer
  123. author:        Ian Foster <foster@mcs.anl.gov>, Steve Tuecke
  124.         <tuecke@mcs.anl.gov>, and others
  125. how to get:    ftp pub/pcn/pcn_v2.0.tar.Z from info.mcs.anl.gov
  126. description:    PCN is a parallel programming system designed to improve
  127.         the productivity of scientists and engineers using parallel
  128.         computers.  It provides a simple language for specifying
  129.         concurrent algorithms, interfaces to Fortran and C, a
  130.         portable toolkit that allows applications to be developed
  131.         on a workstation or small parallel computer and run
  132.         unchanged on supercomputers, and integrated debugging and
  133.         performance analysis tools.  PCN was developed at Argonne
  134.         National Laboratory and the California Institute of
  135.         Technology.  It has been used to develop a wide variety of
  136.         applications, in areas such as climate modeling, fluid
  137.         dynamics, computational biology, chemistry, and circuit
  138.         simulation.
  139. ports:        (workstation nets): Sun4, NeXT, RS/6000, SGI
  140.         (multicomputers): iPSC/860, Touchstone DELTA
  141.         (shared memory multiprocessors): Symmetry/Dynix
  142. contact:    <pcn@mcs.anl.gov>
  143. updated:    1993/02/12
  144.  
  145. language:    LOOPN
  146. package:    LOOPN
  147. version:    ?
  148. parts:        compiler?, simulator
  149. author:        ?
  150. how to get:    ftp departments/computer_sci*/loopn.tar.Z from ftp.utas.edu.au
  151. description:    I wish to announce the availability of a compiler, simulator
  152.         and associated source control for an object-oriented petri net
  153.         language called LOOPN.    In LOOPN, a petri net is an extension
  154.         of coloured timed petri nets.  The extension means firstly that
  155.         token types are classes.  In other words, they consist of both
  156.         data fields and functions, they can be declared by inheriting
  157.         from other token types, and they can be used polymorphically.
  158.         The object-oriented extensions also mean that module or subnet
  159.         types are classes.  LOOPN has been developed over a period of
  160.         about 5 years at the University of Tasmania, where it has been
  161.         used in teaching computer simulation and the modelling of
  162.         network protocols.  A petri net is a directed, bipartite graph;
  163.         nodes are either places (represented by circles) or transitions
  164.         (represented by rectangles).  A net is marked by placing tokens
  165.         on places.  When all the places pointing to a transition (the
  166.         input places) have a token, the net may be fired by removing a
  167.         token from each input place and adding a token to each place
  168.         pointed to by the transition (the output places).  Petri nets
  169.         are used to model concurrent systems, particularly in the
  170.         network protocol area.
  171. contact:    Charles Lakos <charles@probitas.cs.utas.edu.au>
  172. updated:    1992/12/20
  173.  
  174. language:    Simula
  175. package:    Lund Simula
  176. version:    4.07
  177. parts:        ?
  178. author:        ?
  179. how to get:    ftp misc/mac/programming/+_Simula/* from rascal.ics.utexas.edu
  180. description:    ?
  181. contact:    Lund Software House AB / Box 7056 / S-22007 Lund, Sweden
  182. updated:    1992/05/22
  183.  
  184. language:    SR (Synchronizing Resources)
  185. package:    sr
  186. version:    2.0 
  187. parts:        ?, documentation, tests
  188. author:        ?
  189. how to get:    ftp sr/sr.tar.Z from cs.arizona.edu
  190. description:    SR is a language for writing concurrent programs.
  191.         The main language constructs are resources and
  192.         operations.  Resources encapsulate processes and
  193.         variables they share; operations provide the primary
  194.         mechanism for process interaction.  SR provides a novel
  195.         integration of the mechanisms for invoking and
  196.         servicing operations.  Consequently, all of local and
  197.         remote procedure call, rendezvous, message passing,
  198.         dynamic process creation, multicast, and semaphores are
  199.         supported.
  200. reference:    "The SR Programming Language: Concurrency in Practice", 
  201.         by Gregory R. Andrews and Ronald A. Olsson, Benjamin/Cummings 
  202.         Publishing Company, 1993, ISBN 0-8053-0088-0
  203. ports:        Sun-4, Sun-3, Decstation, SGI Iris, HP PA, HP 9000/300,
  204.         NeXT, Sequent Symmetry, DG AViiON, RS/6000, Multimax,
  205.         Apollo, and others.
  206. discussion:    info-sr-request@cs.arizona.edu
  207. contact:    sr-project@cs.arizona.edu
  208. updated:    1992/09/01
  209.  
  210. language:    UNITY
  211. package:    MasPar Unity
  212. version:    1.0
  213. parts:        translator(UNITY->MPL), documentation
  214. author:        Martin Huber, University of Karlsruhe, Germany
  215. how to get:    ftp pub/maspar/maspar_unity* from SanFrancisco.ira.uka.de
  216. description:    ?
  217. contact:    Lutz Prechelt <prechelt@ira.uka.de>
  218. updated:    ?
  219.  
  220. language:    UNITY
  221. package:    HOL-UNITY
  222. version:    2.1
  223. parts:        verification tool
  224. author:        ?
  225. how to get:    ?
  226. description:    ?
  227. contact:    Flemming Andersen <fa@tfl.dk> ?
  228. updated:    ?
  229.  
  230. Forth family languages
  231. -------------------------------------------------------------------------------
  232. category:    Forth family languages
  233. description:    These are the stack-based postfix languages.  
  234. lref:        Postscript
  235. iref:        (mc6809) 6809, E-Forth
  236.  
  237. language:    Forth
  238. package:    TILE Forth
  239. version:    2.1
  240. parts:        interpreter
  241. author:        Mikael Patel <mip@sectra.se>
  242. how to get:    ftp tile-forth-2.1.tar.Z from a GNU archive site
  243. description:    Forth interpreter in C; many Forth libraries
  244. conformance:    Forth83
  245. restriction:    shareware/GPL
  246. ports:        unix
  247. updated:    1991/11/13
  248.  
  249. language:    Forth
  250. package:    cforth
  251. version:    ?
  252. parts:        interpreter
  253. author:        ?
  254. how to get:    comp.sources.unix archive volume 1
  255. description:    ?
  256. updated:    ?
  257.  
  258. language:    Forth
  259. package:    pfe (Portable Forth Environment)
  260. version:    0.8.0
  261. parts:        ?
  262. author:        Dirk Zoller <duz@roxi.rz.fht-mannheim.de>
  263. how to get:    ftp pub/unix/languages/pfe* from duz@roxi.rz.fht-mannheim.de
  264. description:    A Forth development system that tries to be correct,
  265.         complete, portable, usable and simple.    It doesn't try too
  266.         hard to be fast.
  267. conformance:    all dpANS word sets
  268. ports:        Linux, RS/6000, HP-UX
  269. portability:    high
  270. updated:    1993/08/11
  271.  
  272. language:    Forth
  273. package:    F68K
  274. version:    ?
  275. parts:        ?
  276. author:        ?
  277. how to get:    ftp atari/Languages/f68k.* from archive.umich.edu
  278. description:    a portable Forth system for Motorola 68k computers
  279. ports:        Atari ST/TT, Amiga, Sinclair QL and OS9
  280. portability:    very high for 68000 based systems
  281. contact:    Joerg Plewe <joerg.plewe@mpi-dortmund.mpg.de>
  282. updated:    1992/12/14
  283.  
  284. language:    Forth
  285. package:    51forth
  286. version:    ?
  287. parts:        ?
  288. author:        Scott Gehmlich
  289. how to get:    ftp giovanni/51forth.zip from [130.123.96.9]
  290. description:    source and documentation for a 8051 subroutine-
  291.         threaded forth
  292. contact:    ?
  293. updated:    1993/04/03
  294.  
  295. language:    Mops
  296. package:    Mops
  297. version:    2.3.1
  298. parts:        compiler, documentation, editor
  299. author:        Michael Hore <mikeh@kralizec.zeta.org.au>
  300. how to get:    ftp pub/Yerk/? from oddjob.uchicago.edu
  301. description:    Like Yerk, Mops is descended from the ex-commercial
  302.         object-oriented language Neon. Mops features an
  303.         optimizing native-code compiler; it is much faster
  304.         than Yerk, but less compatible with Neon. Mops
  305.         includes extensions such as multiple inheritance.
  306. ports:        Macintosh
  307.  
  308. language:    Kevo (Forth-like)
  309. package:    kevo
  310. version:    0.9b6
  311. parts:        interpreter, demo programs, user's guide, papers
  312. author:        Antero Taivalsaari <tsaari@cs.uta.fi>
  313. how to get:    ftp /pub/kevo/* from cs.uta.fi
  314. description:    Kevo is a prototype-based object-oriented language for
  315.         Macintosh Kevo features a unique prototype-based object model
  316.         (which is based neither on classes nor Self-style delegation),
  317.         multitasking (both preemptive and cooperative), dynamic memory
  318.         management, and an icon-based object browser and editor modeled
  319.         loosely after Mac Finder. Kevo has been built around a portable
  320.         threaded code interpreter, and is syntactically a close
  321.         derivative of Forth.
  322. ports:        Macintosh
  323. contact:    kevo-interest@ursamajor.uvic.ca
  324. updated:    1993/05/18
  325.  
  326. language:    Yerk
  327. package:    Yerk
  328. version:    3.62
  329. parts:        ?
  330. author:        ?
  331. how to get:    ftp pub/Yerk/? from oddjob.uchicago.edu
  332. description:    Yerk is an object oriented language based on a
  333.         Forth Kernel with some major modifications.  It
  334.         was originally known as Neon, developed and sold
  335.         as a product by Kriya Systems from 1985 to 1989.
  336.         Several of us at The University of Chicago have
  337.         maintained Yerk since its demise as a product.
  338.         Because of the possible trademark conflict that
  339.         Kriya mentions, we picked the name Yerk, which is
  340.         at least not an acronym for anything, but rather
  341.         stands for Yerkes Observatory, part of the Department
  342.         of Astronomy and Astrophysics at U of C.
  343. updated:    ?
  344.  
  345.  
  346. compiler generators and related tools
  347. -------------------------------------------------------------------------------
  348. category:    compiler generators and related tools
  349. description:    Yacc, and the rest of its family
  350.  
  351. language:    ABC
  352. package:    Grammar analysis tools
  353. version:    1
  354. parts:        analysis tools, samples, documentation
  355. author:        Steven Pemberton <Steven.Pemberton@cwi.nl>
  356. how to get:    ftp programming/languages/abc/examples/grammar/*
  357.         from ftp.eu.net or ftp.nluug.net
  358. description:    Grammar analysis program written in ABC (q.v.) for
  359.         answering such questions as "what are the start
  360.         symbols of all rules", "what symbols can follow this
  361.         symbol", "which rules are left recursive", and so on.
  362.         Includes a grammar of ISO Pascal.
  363. reference:    Ftp archive includes an article explaining the package.
  364. ports:        unix, MSDOS, atari, mac 
  365. contact:    Steven.Pemberton@cwi.nl
  366. updated:    1993/07/05
  367.  
  368. language:    ? attribute grammar ?
  369. package:    Alpha
  370. version:    pre-release
  371. parts:        semantic-analysis generator?, documentation(german)
  372. author:        Andreas Koschinsky <koschins@cs.tu-berlin.de>
  373. how to get:    from author
  374. description:    I have written a compiler generator. The generator is called
  375.         Alpha and uses attribute grammars as specification calculus.
  376.         Alpha is the result of a thesis at Technische Universitaet
  377.         Berlin. I am looking for someone who would like to test and use
  378.         Alpha.    Alpha generates compilers from a compiler
  379.         specification. This specification describes a compiler in
  380.         terminology of attribute grammars. Parser and Scanner are
  381.         generated by means of Bison and Flex.  Alpha generates an
  382.         ASE-evaluator (Jazayeri and Walter).  The documentation is in
  383.         german since it is a thesis at a german university.
  384. updated:    1993/02/16
  385.  
  386. language:    attribute-grammar extension of Yacc and Lex
  387. package:    Ox
  388. version:    G1.01
  389. parts:        Yacc/Lex/C preprocessor, tutorial, reference manual,
  390.         man page, examples, Ox-ready parsers (C, C++, Pascal, Ada,
  391.         Fortran)
  392. author:        Kurt Bischoff <bischoff@cs.iastate.edu>
  393. how to get:    ftp pub/ox/* from ftp.cs.iastate.edu
  394. description:    Ox generalizes the function of Yacc in the way that attribute
  395.         grammars generalize context-free grammars.  Ordinary Yacc and
  396.         Lex specifications may be augmented with definitions of
  397.         synthesized and inherited attributes written in C syntax.  Ox
  398.         checks these specifications for consistency and completeness,
  399.         and generates from them a program that builds and decorates
  400.         attributed parse trees.     Ox accepts a most general class of
  401.         attribute grammars.  The user may specify postdecoration
  402.         traversals for easy ordering of side effects such as code
  403.         generation.  Ox handles the tedious and error-prone details of
  404.         writing code for parse-tree management, so its use eases
  405.         problems of security and maintainability associated with that
  406.         aspect of translator development.  Ox is a preprocessor,
  407.         and extends the syntax and semantics of Yacc, Lex, and C.
  408. reference:    Most compiler textbooks have descriptions of attribute
  409.         grammars.
  410. features:    LALR(1), semantic-analyzer generation.
  411. bugs:        none known.  Report bugs to ox-project@cs.iastate.edu.
  412. restriction:    Use of Ox is free.  Ox-generated code is the property of
  413.         the Ox user.
  414. ports:        Unix
  415. contact:    ox-request@cs.iastate.edu
  416. updated:    1993/11/14
  417.  
  418. language:    BNF (Extended)
  419. package:    Gray
  420. version:    3
  421. parts:        parser generator(Forth)
  422. author:        Martin Anton Ertl <anton@mips.complang.tuwien.ac.at>
  423. how to get:    author; version 2 is on various ftp sites
  424. description:    Gray is a parser generator written in Forth.  It takes 
  425.         grammars in an extended BNF and produces executable Forth 
  426.         code for recursive descent parsers.  There is no special 
  427.         support for error handling.
  428. requires:    Forth
  429. ports:        TILE Release 2 by Mikael Patel
  430. updated:    1992/05/22
  431.  
  432. language:    BNF ??
  433. package:    ZUSE
  434. version:    ?
  435. parts:        parser generator(?)
  436. author:        Arthur Pyster
  437. how to get:    ? Univ Calif at Santa Barbara ?
  438. description:    ll(1) paser generator
  439. requires:    Pascal
  440. updated:    1986/09/23
  441.  
  442. language:    BNF ??
  443. package:    FMQ
  444. version:    ?
  445. parts:        paser generator w/error corrector generator
  446. author:        Jon Mauney
  447. how to get:    ftp from csczar.ncsu.edu
  448. description:    ?
  449. status:        ?
  450. contact:    ?
  451. updated:    1990/03/31
  452.  
  453. language:    BNF ??
  454. package:    ATS (Attribute Translation System)
  455. version:    ?
  456. parts:        ?
  457. author:        ? University of Saskatchewan ?
  458. how to get:    ?
  459. description:    generates table-driven LL(1) parsers with full insert-only
  460.         error recovery.     It also handles full left-attribute semantic
  461.         handling, which is a dream compared to using YACC's parser
  462.         actions.
  463. status:        ?
  464. contact:    ? (suggested: Dave Bocking <bocking@cs.usask.ca>)
  465. updated:    1988/11/29
  466.  
  467. language:    BNF (Extended)
  468. package:    PCCTS (Purdue Compiler-Construction Tool Set)
  469. version:    1.20
  470. parts:        scanner generator, parser generator (pred-LL(k)), 
  471.                 documentation, tutorial
  472. author:        Terence J. Parr <parrt@acm.org>, Will E. Cohen
  473.         <cohenw@ecn.purdue.edu>, Henry G. Dietz <hankd@ecn.purdue.edu>,
  474.         Russel W. Quong <quong@ecn.purdue.edu>
  475. how to get:    ftp pub/pccts/1.20/pccts.tar.Z from marvin.ecn.purdue.edu
  476.     UK:        ftp computing/programming/languages/tools/pccts/* 
  477.         from src.doc.ic.ac.uk
  478.     Macintosh:    ftp pub/mac/* from maya.dei.unipd.it 
  479. description:    PCCTS is similar to a highly integrated version of YACC
  480.         and LEX; where ANTLR (ANother Tool for Language
  481.         Recognition) corresponds to YACC and DLG (DFA-based
  482.         Lexical analyzer Generator) functions like LEX.
  483.         However, PCCTS has many additional features which make
  484.         it easier to use for a wide range of translation
  485.         problems.  PCCTS grammars contain specifications for
  486.         lexical and syntactic analysis with selective backtracking
  487.         ("infinite lookahead"), semantic predicates, intermediate-form
  488.         construction and error reporting. Rules may employ Extended
  489.         BNF (EBNF) grammar constructs and may define parameters,
  490.         return values and local variables.  Languages described in
  491.         PCCTS are recognized via LL(k) parsers constructed in pure,
  492.         human-readable, C code.     Selective backtracking is available
  493.         to handle non-LL(k) constructs.     PCCTS parsers may be compiled 
  494.         with C++. Version 1.20 now generates C++ code as well as K&R
  495.         and ANSI C variants.
  496. ports:        Unix, DOS, OS/2, Macintosh
  497. portability:    very high
  498. discussion:    send mail with a body of "subscribe pccts-users your_name" 
  499.         to pccts-users-request@ahpcrc.umn.edu
  500. contact:    Terence J. Parr <parrt@acm.org>
  501.         Roberto Avanzi (mocenigo@maya.dei.unipd.it) (for the Mac port)
  502. updated:    1994/04/29
  503.  
  504. language:    BNF (very extended), yacc
  505. package:    PRE-CC Xtended
  506. version:    2.30
  507. parts:        library, parser generator (LL(oo)), translator(yacc->)
  508. author:        Peter Breuer
  509. how to get:    ftp pub/Programs/preccx230* from ftp.comlab.ox.ac.uk
  510.         (later versions available by subscription)
  511. description:    PRECCX is an infinite-lookahead compiler compiler for context
  512.         dependent grammars.  The generated code is ANSI C.
  513.         Specification scripts are in very EBNF with inherited and
  514.         synthetic attributes allowed. Scripts can be compiled in
  515.         separate modules, and linked together later.  Meta-production
  516.         rules allowed.    The technology is essentially LL(oo) with
  517.         optimizations. A converter for yacc scripts is available.
  518. reference:    "The PRECC Compiler-Compiler" by P.T. Breuer and J.P. Bowen.
  519.         In E. Davies and A. Findlay (eds.),
  520.         Proc. UKUUG/SUKUG Joint New Year 1993 Conference,
  521.         St. Cross Centre, Oxford, UK, 6-8 January 1993,
  522.         ISBN 1 873611 06 4 (UKUUG), 0 9520700 0 6 (SUKUG)
  523.         UKUUG/SUKUG Secretariat, Owles Hall, Buntingford,
  524.         Herts SG9 9PL, UK, pp 167-182, 1993.
  525. ports:        unix, MS-DOS
  526. contact:    Peter Breuer <ptb@comlab.ox.ac.uk>,
  527.         Jonathan Bowen <bowen@comlab.ox.ac.uk>
  528. updated:    1992/08/25 
  529.  
  530. language:    BNF ??
  531. package:    LLGen
  532. version:    ?
  533. parts:        parser generator
  534. author:        ? Fischer and LeBlanc ?
  535. how to get:    ? ftp from csczar.ncsu.edu ?
  536. description:    LL(1) parser generator
  537. conformance:    subset of FMQ
  538. reference:    "Crafting A Compiler", by Fischer and LeBlanc
  539. status:        ?
  540. contact:    ?
  541. updated:    1990/03/31
  542.  
  543. language:    BNF ??
  544. package:    wacco
  545. version:    ?
  546. parts:        parser generator
  547. author:        ?
  548. how to get:    comp.sources.misc volume ?
  549. description:    LL(?) parser generator
  550. contact:    ?
  551. updated:    ?
  552.  
  553. language:    BNF (Extended), BNF (yacc), Modula-2
  554. package:    GMD Toolbox for Compiler Construction (aka Cocktail)
  555. version:    9209
  556. parts:        parser generator (LALR -> C, Modula-2), documentation,
  557.         parser generator (LL(1) -> C, Modula-2), tests,
  558.         scanner generator (-> C, Modula-2), tests
  559.         translator (Extended BNF -> BNF), translator (Modula-2 -> C),
  560.         translator (BNF (yacc) -> Extended BNF), examples
  561.         abstract syntax tree generator, attribute-evaluator generator,
  562.         code generator
  563. author:        ?
  564. how to get:    ftp pub/cocktail/dos from ftp.karlsruhe.gmd.de
  565.     OS/2:    ftp.eb.ele.tue.nl/pub/src/cocktail/dos-os2.zoo 
  566. description:    A huge set of compiler building tools. 
  567. requires:    (ms-dos only) DJ Delorie's DOS extender (go32)
  568.     (OS/2 only) emx programming environment for OS/2
  569. ports:        msdos, unix, os/2
  570. discussion:    subscribe to Cocktail using listserv@eb.ele.tue.nl
  571. contact:    Josef Grosch <grosch@karlsruhe.gmd.de>
  572.     OS/2:    Willem Jan Withagen <wjw@eb.ele.tue.nl>
  573. updated:    1992/10/01
  574.  
  575. language:    BNF ????
  576. package:    T-gen
  577. version:    2.1
  578. parts:        parser generator, documentation, ?
  579. author:        Justin Graver <graver@comm.mot.com>
  580. how to get:    ftp pub/st80_r41/T-gen2.1/* from st.cs.uiuc.edu
  581. description:    T-gen is a general-purpose object-oriented tool for the 
  582.         automatic generation of string-to-object translators. 
  583.         It is written in Smalltalk and lives in the Smalltalk 
  584.         programming environment.  T-gen supports the generation 
  585.         of both top-down (LL) and bottom-up (LR) parsers, which 
  586.         will automatically generate derivation trees, abstract 
  587.         syntax trees, or arbitrary Smalltalk objects.  The simple 
  588.         specification syntax and graphical user interface are 
  589.         intended to enhance the learning, comprehension, and 
  590.         usefulness of T-gen.
  591. requires:    Smalltalk-80
  592. ports:        ParcPlace Objectworks/Smalltalk 4.0 & 4.1
  593. updated:    1992/10/18
  594.  
  595. language:    BNF 
  596. package:    Eli Compiler Construction System
  597. version:    3.5
  598. parts:        ?, documentation
  599. author:        ?
  600. how to get:    ftp pub/cs/distribs/eli/* from ftp.cs.colorado.edu
  601.     Europe:    ftp unix/eli from ftp.uni-paderborn.de
  602. description:    Eli integrates off-the-shelf tools and libraries with
  603.         specialized language processors to generate complete compilers
  604.         quickly and reliably.  It simplifies the development of new
  605.         special-purpose languages, implementation of existing languages
  606.         on new hardware and extension of the constructs and features of
  607.         existing languages.
  608. ports:        Sun-4 (SunOS 4 & 5), Ultrix/MIPS, RS/6000, HP-UX, SGI, Linux
  609. discussion:    <eli-request@cs.colorado.edu>
  610. contact:    <compiler@cs.colorado.edu>, <compiler@uni-paderborn.de>
  611. updated:    1993/11/01
  612.  
  613. language:    BNF (yacc)
  614. package:    NewYacc
  615. version:    1.0
  616. parts:        parser generator, documenation
  617. author:        Jack Callahan <callahan@mimsy.cs.umd.edu> 
  618. how to get:    ftp src/newyacc.1.0.*.Z from flubber.cs.umd.edu
  619. description:    [someone want to fill it in? --ed]
  620. reference:    see Dec 89 CACM for a brief overview of NewYacc.
  621. updated:    1992/02/10
  622.  
  623. language:    BNF (yacc)
  624. package:    bison
  625. version:    1.22
  626. parts:        parser generator, documentation
  627. author:        Robert Corbett ?
  628. how to get:    ftp bison-1.16.tar.Z from a GNU archive site
  629. description:    ?
  630. bugs:        bug-gnu-utils@prep.ai.mit.edu
  631. restriction:    !! will apply the GNU General Public License to *your* code !!
  632. ports:        unix, atari, ?
  633. updated:    1993/09/14
  634.  
  635. language:    BNF (yacc), Lex
  636. package:    Bison++, Flex++
  637. version:    ?
  638. parts:        parser generator, scanner generator, documentation, samples
  639. author:        ? Alain Coetmeur <coetmeur@icdc.fr>
  640. how to get:    ftp pub/file/{bison,flex,misc}++.tar.gz from iecc.com
  641. description:    GNU's Yacc and Lex, retargeted to C++
  642. updated:    1993/07/08
  643.  
  644. language:    BNF (yacc)
  645. package:    ? jaccl ?
  646. version:    ?
  647. parts:        parser generator
  648. author:        Dave Jones <djones@megatest.uucp>
  649. how to get:    ?
  650. description:    a LR(1) parser generator
  651. updated:    1989/09/08
  652.  
  653. language:    BNF (yacc)
  654. package:    byacc (Berkeley Yacc)
  655. version:    1.9
  656. parts:        parser generator
  657. author:        Robert Corbett <Robert.Corbett@eng.sun.com>
  658. how to get:    ftp pub/byacc.tar.1.9.Z from vangogh.CS.Berkeley.EDU
  659. description:    probably the best yacc variant around.    Previously known as
  660.         Zoo, and before that, as Zeus.
  661. updated:    1993/02/22
  662.  
  663. language:    BNF (yacc), Lex
  664. package:    Lex/Yacc for Turbo Pascal uploaded
  665. version:    ?
  666. parts:        parser generator, scanner generator, documentation?
  667. author:        ?
  668. how to get:    iecc.com (140.186.81.1) at pub/file/lyprg.zip.
  669. description:    Lex and Yacc retargeted to Pascal.
  670. contact:    ? dpoole@hydrogen.oscs.montana.edu (David Poole)
  671. updated:    1993/07/02
  672.  
  673. language:    BNF (yacc), Ada
  674. package:    aflex-ayacc
  675. version:    1.2a
  676. parts:        parser generator (Ada), scanner generator (Ada)
  677. author:        IRUS (Irvine Research Unit in Software)
  678. how to get:    ftp pub/irus/aflex-ayacc_1.2a.tar.Z from liege.ics.uci.edu
  679. description:    Lex and Yacc equivalents that produce Ada output
  680. announcements:    irus-software-request@ics.uci.edu
  681. contact:    irus-software-request@ics.uci.edu
  682. updated:    1993/01/06
  683.  
  684. language:    BNF (variant), Icon
  685. package:    Ibpag2 (Icon-Based Parser Generation System 2)
  686. version:    1.0 (beta)
  687. parts:        parser generator (Icon, SLR(1))
  688. author:        Richard L. Goerwitz <goer@midway.uchicago.edu>
  689. how to get:    comp.sources.misc archive
  690. description:    Ibpag2 is a parser generator for Icon.    It does most
  691.         of what you would expect.  Latest version can handle both
  692.         SLR(1) and even GLR (Tomita) grammars.
  693. ports:        unix
  694. portability:    ? (Unix dependencies?)
  695. updated:    1993/07/13
  696.  
  697. language:    BNF ?, Gofer
  698. package:    Ratatosk ?
  699. version:    ?
  700. parts:        parser generatr (Gofer)
  701. author:        Torben AEgidius Mogensen <torbenm@diku.dk>
  702. how to get:    ftp pub/diku/dists/Ratatosk.tar.Z from ftp.diku.dk
  703. description:    Ratatosk is a SLR parser generator in Gofer (a Haskell variant)
  704.         that generates purely functional parsers (also in Gofer). Even
  705.         though the sematic value of a production is a function of the
  706.         attributes of its right-hand side (and thus apparently purely
  707.         synthesized), inherited attributes are easily simulated by
  708.         using higher order functions.
  709. ports:        ?
  710. updated:    ?
  711.  
  712. language:    BNF
  713. package:    lalr.ss - An LALR(1) parser generator
  714. version:    0.9 
  715. parts:        parser generator (->Scheme)
  716. author:        Mark Johnson <mj@cs.brown.edu>
  717. how to get:    ftp new/lalr.shar from the Scheme Repository
  718. description:    A LALR(1) parser generator in and for Scheme.
  719. requires:    Scheme
  720. updated:    1993/05/24
  721.  
  722. language:    BURS ?
  723. package:    Iburg
  724. version:    ?
  725. parts:        parser generator?
  726. author:        Christopher W. Fraser <cwf@research.att.com>, David R. Hanson
  727.         <drh@princeton.edu>, Todd A. Proebsting <todd@cs.arizona.edu>
  728. how to get:    ftp pub/iburg.tar.Z from ftp.cs.princeton.edu
  729. description:    Iburg is a program that generates a fast tree parser.  It is
  730.         compatible with Burg. Both programs accept a cost-augmented
  731.         tree grammar and emit a C program that discovers an optimal
  732.         parse of trees in the language described by the grammar. They
  733.         have been used to construct fast optimal instruction selectors
  734.         for use in code generation.  Burg uses BURS; Iburg's matchers
  735.         do dynamic programming at compile time.
  736. updated:    1993/02/10
  737.  
  738. language:    Candle, IDL (Interface Description Language)
  739. package:    Scorpion System
  740. version:    6.0
  741. parts:        software development environment for developing
  742.         software development environments, documentation
  743. author:        University of Arizona
  744. how to get:    ftp scorpion/* from cs.arizona.edu
  745. description:    20 tools that can be used to construct specialized
  746.         programming environments.
  747.         The Scorpion Project was started by Prof. Richard
  748.         Snodgrass as an outgrowth of the SoftLab Project (which pro-
  749.         duced the IDL Toolkit) that he started when he was at the
  750.         University of North Carolina.  The Scorpion Project is
  751.         directed by him at the University of Arizona and by Karen
  752.         Shannon at the University of North Carolina at Chapel Hill.
  753. reference:    "The Interface Description Language: Definition and Use," 
  754.         by Richard Snodgrass, Computer Science Press, 1989,
  755.         ISBN 0-7167-8198-0
  756. ports:        Sun-3, Sun-4, Vax, Decstation, Iris, Sequent, HP9000
  757. discussion:    info-scorpion-request@cs.arizona.edu
  758. contact:    scorpion-project@cs.arizona.edu
  759. updated:    1993/11/04
  760.  
  761. language:    COCOL (EBNF variant)
  762. package:    COCO/R
  763. version:    1.34
  764. parts:        parser generator(LL(1))
  765. author:        Hanspeter Moessenboeck <moessenboeck@inf.ethz.ch>
  766.         Port to Modula-2 done by Marc Brandis, Christof Brass 
  767.         and Pat Terry <cspt@alpha.ru.ac.za>
  768. how to get:    ftp Oberon/Examples/Coco from neptune.inf.ethz.ch
  769.     Modula-2:    ftp pub/coco from alpha.ru.ac.za 
  770. description:    Coco/R generates recursive descent parsers and their associated
  771.         scanners from attributed grammars.  Coco/R can bootstrap itself
  772.         to generate its own driver, parser, scanner, and semantic
  773.         evaluator from the attributed grammar CR.ATG.  This grammar
  774.         thus serves as an an example of how to write compiler
  775.         descriptions for Coco.    There are also other simpler examples
  776.         showing its use.
  777. references:    _A compiler generator for microcomputers_, by Rechenberg 
  778.         and Mossenbock (Prentice Hall, 1989, 0-13-155136-1)
  779. bugs:        MS-DOS related versions: Pat Terry <cspt@alpha.ru.ac.za>
  780.         Other: Hanspeter Moessenboeck <moessenboeck@inf.ethz.ch>
  781. requires:    Oberon or Modula-2
  782. ports:        MS-DOS: TopSpeed Modula-2; FST 2.0; FST 3.1; StonyBrook
  783.         QuickMod 2.2; Logitech 3.03.  Macintosh: Apple MacMeth
  784. status:        Oberon version is freely available?, Modula-2 version is
  785.         free to academic sites; commercial use requires a license
  786. updated:    1994/01/13
  787.  
  788. language:    EAG (Extended Affix Grammar)
  789. package:    EAG
  790. version:    first public release
  791. parts:        recognizer generator, transduccer generator, 
  792.         translator generator, editor generator, documentation
  793. author:        Marc Seutter <marcs@cs.kun.nl>
  794. how to get:    ftp pub/eag/* from hades.cs.kun.nl
  795. description:    The Extended Affix Grammar formalism, or shortly EAG, is a
  796.         formalism for describing both the context free and the context
  797.         sensitive syntax of languages.    EAG is a member of the family
  798.         of two-level grammars. They are very closely related to
  799.         two-level van Wijngaarden grammars.  The EAG compiler will
  800.         generate either a recognizer or a transducer or a translator or
  801.         a syntax directed editor for a language described in the EAG
  802.         formalism.  [What's a tranducer? --ed]
  803. updated:    1993/09/14
  804.  
  805. language:    lex
  806. package:    flex
  807. version:    2.3.8
  808. parts:        scanner generator
  809. author:        Vern Paxson <vern@ee.lbl.gov>
  810. how to get:    ftp flex-2.3.8.tar.Z from a GNU archive site or ftp.ee.lbl.gov
  811. description:    ?
  812. updated:    ?
  813.  
  814. language:    Milarepa 
  815. package:    Milarepa Perl/BNF Parser 
  816. version:    Prototype 1.0
  817. parts:        parser-generator, examples, tutorial
  818. author:        Jeffrey Kegler <jeffrey@netcom.com>
  819. how to get:    via anonymous ftp at
  820.         alexia.lis.uiuc.edu:/pub/perl/marpa-1.0.tar.Z
  821. description:    Milarepa takes a source grammar in the Milarepa language (a
  822.         straightforward mix of BNF and Perl) and generates a Perl file,
  823.         which, when enclosed in a simple wrapper, parses some third
  824.         language described by the source grammar.
  825.         This is intended to be a real hacker's parser.    It is not
  826.         restricted to LR(k), and the parse logic follows directly from
  827.         the BNF.  It handles ambiguous grammars, ambiguous tokens
  828.         (tokens which were not positively identified by the lexer) and
  829.         allows the programmer to change the start symbol.  The grammar
  830.         may not be left recursive.  The input must be divided into
  831.         sentences of a finite maximum length.  There is no fixed
  832.         distinction between terminals and non-terminals, that is, a
  833.         symbol can both match the input AND be on the left hand side of
  834.         a production.  Multiple Marpa grammars are allowed in a single
  835.         perl program.
  836.         It's only a prototype primarily due to poor speed.  This is
  837.         intended to be remedied after Perl 5.0 is out.
  838. requires:    perl
  839. updated:    1994/04/27
  840.  
  841. language:    Pascal, Lisp, APL, Scheme, SASL, CLU, Smalltalk, Prolog
  842. package:    Tim Budd's C++ implementation of Kamin's interpreters
  843. version:    ?
  844. parts:        interpretors, documentation
  845. author:        Tim Budd <budd@cs.orst.edu>
  846. how to get:    ? ftp pub/budd/kamin/*.shar from cs.orst.edu ?
  847. description:    a set of interpretors written as subclasses based on
  848.         "Programming Languages, An Interpreter-Based Approach",
  849.         by Samuel Kamin.
  850. requires:    C++
  851. status:        ? 
  852. contact:    Tim Budd <budd@fog.cs.orst.edu>
  853. updated:    1991/09/12
  854.  
  855. language:    perl, yacc
  856. iref:        (Perl) perl-byacc
  857.  
  858. language:    Relation Grammar
  859. package:    rl
  860. version:    ?
  861. parts:        ?
  862. author:        Kent Wittenburg <kentw@bellcore.com>
  863. how to get:    fto rl/* from flash.bellcore.com
  864. description:    The RL files contain code for defining Relational Grammars and
  865.         using them in a bottom-up parser to recognize and/or parse
  866.         expressions in Relational Languages.  The approach is a
  867.         simplification of that described in Wittenburg, Weitzman, and
  868.         Talley (1991), Unification-Based Grammars and Tabular Parsing
  869.         for Graphical Languages, Journal of Visual Languages and
  870.         Computing 2:347-370.
  871.         This code is designed to support the definition and parsing of
  872.         Relational Languages, which are characterized as sets of
  873.         objects standing in user-defined relations.  Correctness and
  874.         completeness is independent of the order in which the input is
  875.         given to the parser.  Data to be parsed can be in many forms as
  876.         long as an interface is supported for queries and predicates
  877.         for the relations used in grammar productions.    To date, this
  878.         software has been used to parse recursive pen-based input such
  879.         as math expressions and flowcharts; to check for data integrity
  880.         and design conformance in databases; to automatically generate
  881.         constraints in drag-and-drop style graphical interfaces; and to
  882.         generate graphical displays by parsing relational data and
  883.         generating output code.
  884. requires:    Common Lisp
  885. ports:        Allegro Common Lisp 4.1, Macintosh Common Lisp 2.0
  886. updated:    1992/10/31
  887.  
  888. language:    S/SL (Syntax Semantic Language)
  889. package:    ssl
  890. version:    ?
  891. parts:        parser bytecode compiler, runtime
  892. author:        Rick Holt, Jim Cordy <cordy@qucis.queensu.ca> (language), 
  893.         Rayan Zachariassen <rayan@cs.toronto.edu> (C implementation)
  894. how to get:    ftp pub/ssl.tar.Z from neat.cs.toronto.edu
  895. description:    A better characterization is that S/SL is a language 
  896.         explicitly designed for making efficient recusive-descent 
  897.         parsers.  Unlike most other languages, practicially the 
  898.         LEAST expensive thing you can do in S/SL is recur.  A
  899.         small language that defines input/output/error token
  900.         names (& values), semantic operations (which are really
  901.         escapes to a programming language but allow good
  902.         abstration in the pseudo-code), and a pseudo-code
  903.         program that defines a grammar by the token stream the
  904.         program accepts.  Alternation, control flow, and
  905.         1-symbol lookahead constructs are part of the
  906.         language.  What I call an S/SL "implementation", is a
  907.         program that compiles this S/SL pseudo-code into a
  908.         table (think byte-codes) that is interpreted by the
  909.         S/SL table-walker (interpreter).  I think the pseudo-code 
  910.         language is LR(1), and that the semantic mechanisms turn it
  911.         into LR(N) relatively easily.
  912.         + more powerful and cleaner than yac
  913.         - slower than yacc
  914. reference:    + Cordy, J.R. and Holt, R.C. [1980] Specification of S/SL:
  915.         Syntax/Semantic Language, Computer Systems Research
  916.         Institute, University of Toronto.  
  917.         + "An Introduction to S/SL: Syntax/Semantic Language" by 
  918.         R.C. Holt, J.R.     Cordy, and D.B. Wortman, in ACM Transactions 
  919.         on Programming Languages and Systems (TOPLAS), Vol 4, No.
  920.         2, April 1982, Pages 149-178.
  921. updated:    1989/09/25
  922.  
  923. language:    TXL
  924. package:    TXL: Tree Transformation Language
  925. version:    7.4
  926. parts:        translator, documentation, tutorial, examples
  927. author:        Jim Cordy <cordy@qucis.queensu.ca>
  928. how to get:    ftp pub/txl/* from ftp.qucis.queensu.ca 
  929. description:    TXL is a language for performing source to source
  930.         transformations and is well suited for rapidly prototyping
  931.         new languages and language processors.    It has also been used to
  932.         prototype specification languages, command languages, and more
  933.         traditional program transformation tasks such as constant
  934.         folding, type inference, source optimization and reverse
  935.         engineering.  TXL takes as input an arbitrary context-free
  936.         grammar in extended BNF-like notation, and a set of
  937.         show-by-example transformation rules to be applied to inputs
  938.         parsed using the grammar.  TXL is a functional/rule-based
  939.         hybrid programming language, using the paradigm of structural
  940.         transformation.
  941. reference:    Several listed in software documentation
  942. updated:    1993/08/04
  943.  
  944. language:    BNF (extended)
  945. package:    SORCERER: A Simple Tree Parser Generator
  946. version:    1.00B
  947. parts:        translator, documentation, tutorial, examples
  948. author:        Terence Parr <parrt@s1.arc.umn.edu>
  949. how to get:    ftp pub/pccts/sorcerer/* from marvin.ecn.purdue.edu 
  950. description:    SORCERER is more suitable for the class of translation problems
  951.         lying between those solved by code-generator generators and by
  952.         full source-to-source translator generators.  SORCERER
  953.         generates simple, flexible, top-down, tree parsers that, in
  954.         contrast to code-generators, may execute actions at any point
  955.         during a tree walk.  SORCERER accepts extended BNF notation,
  956.         allows predicates to direct the tree walk with semantic and
  957.         syntactic context information, and does not rely on any
  958.         particular intermediate form, parser generator, or other
  959.         pre-existing application.
  960. discussion:    send mail with a body of "subscribe pccts-users your_name" to
  961.         pccts-users@ahpcrc.umn.edu. "your_name" can be email, or full.
  962. help:        from mailing list
  963. support:    actively supported, from mailing list
  964. reference:    Several listed in software documentation
  965. updated:    1994/02/15
  966.  
  967. mathematical tools and languages
  968. -------------------------------------------------------------------------------
  969. category:    mathematical tools and languages
  970. description:    These are either special-purpose languages and tools, or
  971.         general purpose langauges and tools that have traditionally
  972.         been used for mathematical and scientific computing task.
  973. lref:        Fortran 
  974. lref:        PCN
  975. lref:        CLP
  976. lref:        Sisal
  977.  
  978. language:    APL
  979. package:    I-APL
  980. version:    ?
  981. parts:        ?
  982. author:        ?
  983. how to get:    ftp languages/apl/* from watserv1.waterloo.edu
  984. description:    ?
  985. updated:    1992/07/06
  986.  
  987. language:    APL
  988. package:    APLWEB
  989. version:    ?
  990. parts:        translator(web->apl), translator(web->TeX)
  991. author:        Dr. Christoph von Basum <CvB@erasmus.hrz.uni-bielefeld.de>
  992. how to get:    ftp languages/apl/aplweb/* from watserv1.uwaterloo.ca
  993. description:    [Should this be listed with the Web entries? -- Ed.]
  994. updated:    1992/12/07
  995.  
  996. language:    APL
  997. iref:        (Pascal) Tim Budd's C++ implementation of Kamin's interpreters
  998.  
  999. language:    J
  1000. package:    J-mode
  1001. version:    ?
  1002. parts:        emacs macros
  1003. author:        ?
  1004. how to get:    ftp pub/j/gmacs/j-interaction-mode.el from think.com
  1005. description:    add on to J
  1006. updated:    1991/03/04
  1007.  
  1008. language:    RLaB language (math manipulation - MATLAB-like)
  1009. package:    RLaB
  1010. version:    0.95
  1011. parts:        interpreter, libraries, documentation
  1012. author:        Ian Searle <ians@eskimo.com>
  1013. how to get:    ftp pub/RLaB/* from evans.ee.adfa.oz.au
  1014. description:    RLaB is a "MATLAB-like" matrix-oriented programming
  1015.         language/toolbox.  RLaB focuses on creating a good experimental
  1016.         environment (or laboratory) in which to do matrix math
  1017.         Currently RLaB has numeric scalars and matrices (real and
  1018.         complex), and string scalars, and matrices. RLaB also contains
  1019.         a list variable type, which is a heterogeneous associative
  1020.         array.
  1021. bugs:        Ian Searle <ians@eskimo.com>
  1022. restriction:    GNU General Public License
  1023. requires:    GNUPLOT, lib[IF]77.a (from f2c)
  1024. ports:        many unix, OS/2, Amiga
  1025. updated:    1993/10/27
  1026.  
  1027. language:    octave language (math manipulation - MATLAB-like)
  1028. package:    octave
  1029. version:    1.0
  1030. parts:        interpreter, libraries, documentation
  1031. author:        John W. Eaton
  1032. how to get:    ftp /pub/octave/* from ftp.che.utexas.edu
  1033.         also, any GNU archive site (see archive listing below)
  1034. description:    Octave is a high-level language, primarily intended for
  1035.         numerical computations.     It provides a convenient command line
  1036.         interface for solving linear and nonlinear problems
  1037.         numerically.
  1038.         Octave can do arithmetic for real and complex scalars and
  1039.         matrices, solve sets of nonlinear algebraic equations,
  1040.         integrate functions over finite and infinite intervals, and
  1041.         integrate systems of ordinary differential and
  1042.         differential-algebraic equations.
  1043. bugs:        bug-octave@che.utexas.edu
  1044. restriction:    GNU General Public License
  1045. requires:    gnuplot, C++ compiler and FORTRAN compiler or f2c translator.
  1046. ports:        several
  1047. updated:    1994/2/23
  1048.  
  1049. language:    FUDGIT language (math manipulation)
  1050. package:    FUDGIT
  1051. version:    2.27
  1052. parts:        interpreter
  1053. author:        Thomas Koenig <ig25@rz.uni-karlsruhe.de> ??
  1054. how to get:    ftp /pub/linux/sources/usr.bin/fudgit-* from tsx-11.mit.edu ??
  1055. description:    FUDGIT is a double-precision multi-purpose fitting program.  It
  1056.         can manipulate complete columns of numbers in the form of
  1057.         vector arithmetic. FUDGIT is also an expression language
  1058.         interpreter understanding most of C grammar except pointers.
  1059.         Morever, FUDGIT is a front end for any plotting program
  1060.         supporting commands from stdin. It is a nice mathematical
  1061.         complement to GNUPLOT, for example.
  1062. requires:    GNUPLOT
  1063. ports:        AIX, HPUX, Linux, IRIX, NeXT, SunOS, Ultrix
  1064. updated:    1993/02/22
  1065.  
  1066. language:    Unix BC (arbitrary-precision arithmetic language)
  1067. package:    C-BC
  1068. version:    1.1
  1069. parts:        bytecode compiler, interpreter, documentation, examples
  1070. author:        Mark Hopkins <mark@freenet.uwm.edu>
  1071. how to get:    alt.sources (10/04/93).
  1072. description:    A strongly typed version of BC with expanded C-like syntax,
  1073.         more base types, with ability to form array and pointer types
  1074.         of any dimension and to allocate/free arrays at run-time.
  1075. conformance:    Most POSIX-BC features supported, except functions must be
  1076.         declared consistently and declared before first use.  String
  1077.         handling slightly different.
  1078. reference:    C-BC implementation notes contained with software documentation
  1079. requires:    ANSI-C compiler
  1080. ports:        DOS, Unix
  1081. portability:    No system dependent features present.
  1082. updated:    1993/08/23
  1083.  
  1084. language:    Unix BC (arbitrary-precision arithmetic language)
  1085. package:    GNU BC
  1086. version:    1.02
  1087. parts:        parser (yacc), interpreter, BC math library
  1088. author:        Philip A. Nelson <phil@cs.wwu.edu>
  1089. how to get:    ftp bc-1.02.tar.Z from a GNU archive site
  1090. description:    BC is an arbitrary precision numeric processing language with a
  1091.         C-like syntax that traditionally provided a front-end to DC.
  1092.         This version, however, is self-contained and internally
  1093.         executes its own compiled code (unrelated to DC code).
  1094. restriction:    Source code falls under the GNU CopyLeft.
  1095. requires:    vsprintf and vfprintf routines
  1096. ports:        Unix (BSD, System V, MINIX, POSIX)
  1097. conformance:    Superset of POSIX BC (P10003.2/D11), with a POSIX-only mode.
  1098. updated:    ?
  1099.  
  1100. language:    Calc?  (symbolic math calculator)
  1101. package:    Calc
  1102. version:    2.02
  1103. parts:        interpreter, emacs mode, documentation
  1104. author:        Dave Gillespie <daveg@cs.caltech.edu>
  1105. how to get:    ftp calc-2.02.tar.z from a GNU archive site
  1106. description:    Calc is an extensible, advanced desk calculator and
  1107.         mathematical tool written in Emacs Lisp that runs as part of
  1108.         GNU Emacs.  It is accompanied by the "Calc Manual", which
  1109.         serves as both a tutorial and a reference.  If you wish, you
  1110.         can use Calc as only a simple four-function calculator, but it
  1111.         also provides additional features including choice of algebraic
  1112.         or RPN (stack-based) entry, logarithms, trigonometric and
  1113.         financial functions, arbitrary precision, complex numbers,
  1114.         vectors, matrices, dates, times, infinities, sets, algebraic
  1115.         simplification, differentiation, and integration.
  1116. bugs:        ?
  1117. updated:    ?
  1118.  
  1119. language:    C-like caluculator
  1120. package:    Arbitrary precision calculator
  1121. version:    1.26.4
  1122. parts:        interpreter
  1123. author:        David I. Bell <dbell@canb.auug.org.au>
  1124. how to get:    ftp pub/calc from ftp.uu.net
  1125. description:    Arbitrary precision C-like calculator [similar to BC? --ed]
  1126. ports:        Linux
  1127. updated:    1993/06/15
  1128.  
  1129. language:    Unix DC (arbitrary-precision arithmetic language)
  1130. package:    GNU DC
  1131. version:    0.2
  1132. parts:        interpreter
  1133. author:        ?
  1134. how to get:    ftp dc-0.2.tar.Z from a GNU archive site
  1135. description:    DC is the language for an arbitrary precision postfix
  1136.         calculator.  This version is a subset of DC that handles all
  1137.         the Unix DC operations, except the (undocumented) array
  1138.         operations.
  1139. status:        Attempting integration with GNU BC.
  1140. updated:    1993/05/21
  1141.  
  1142. language:    Fortran
  1143. package:    f2c
  1144. version:    1993.04.28
  1145. parts:        translator (to C), postscript documentation, man pages, 
  1146.         support libraries.
  1147. author:        S. I. Feldman, D. M. Gay, M. W. Maimone and N. L. Schryer
  1148. how to get:    ftp from netlib@research.att.com:netlib/f2c/src/*
  1149. description:    translator (Fortran 77 to ANSI C or C++)
  1150. bugs:        D. M. Gay <dmg@research.att.com>
  1151. updated:    1993 April 27
  1152.  
  1153. language:    Fortran
  1154. package:    Floppy
  1155. version:    ?
  1156. parts:        ?
  1157. author:        ?
  1158. how to get:    ffccc in comp.sources.misc archive volume 12
  1159. description:    ?
  1160. contact:    ?
  1161. updated:    1992/08/04
  1162.  
  1163. language:    Fortran
  1164. package:    Flow
  1165. version:    ?
  1166. parts:        ?
  1167. author:        Julian James Bunn <julian@vxcrna.cxern.ch>
  1168. how to get:    comp.sources.misc archive volume 31
  1169. description:    The Flow program is a companion to Floppy, it allows the user 
  1170.         to produce various reports on the structure of Fortran 
  1171.         77 code, such as flow diagrams and common block tables.
  1172. requires:    Floppy
  1173. ports:        VMS, Unix, CMS
  1174. updated:    ?
  1175.  
  1176. language:    Fortran
  1177. package:    Adaptor (Automatic DAta Parallelism TranslatOR)
  1178. version:    1.0
  1179. parts:        preprocessor, library, documentation
  1180. author:        ?
  1181. how to get:    ftp gmd/adaptor/adp_1.0.tar.Z from ftp.gmd.de
  1182. description:    Adaptor is a tool that transforms data parallel
  1183.         programs written in Fortran with array extensions,
  1184.         parallel loops, and  layout directives    to parallel
  1185.         programs with explicit message passing.
  1186.         ADAPTOR is not a compiler but a source to source
  1187.         transformation that generates Fortran 77 host and
  1188.         node programs with message passing.  The new
  1189.         generated source codes have to be compiled by the
  1190.         compiler of the parallel machine. 
  1191. ports:        CM-5, iPCS/860, Meiko CS1/CS2, KSR 1, SGI, Alliant,
  1192.         network of Suns, or RS/6000s
  1193. contact:    Thomas Brandes <brandes@gmdzi.gmd.de>
  1194. updated:    1993/06
  1195.  
  1196. language:    Fortran, C
  1197. package:    cfortran.h
  1198. version:    2.6
  1199. parts:        macros, documentation, examples
  1200. author:        Burkhard Burow
  1201. how to get:    ftp cfortran/* from zebra.desy.de
  1202. description:    cfortran.h is an easy-to-use powerful bridge between
  1203.         C and FORTRAN. It provides a completely transparent, machine
  1204.         independent interface between C and FORTRAN routines and
  1205.         global data.
  1206.         cfortran.h provides macros which allow the C preprocessor to
  1207.         translate a simple description of a C (Fortran) routine or
  1208.         global data into a Fortran (C) interface.
  1209. reference:    reviewed in RS/Magazine November 1992 and
  1210.         a user's experiences with cfortran.h are to be described
  1211.         in the 1/93 issue of Computers in Physics.
  1212. ports:        VAX VMS or Ultrix, DECstation, Silicon Graphics, IBM RS/6000,
  1213.         Sun, CRAY, Apollo, HP9000, LynxOS, f2c, NAG f90.
  1214. portability:    high
  1215. contact:    burow@vxdesy.cern.ch
  1216. updated:    1992/04/12
  1217.  
  1218. language:    Fortran
  1219. package:    fsplit
  1220. version:    ?
  1221. parts:        ?
  1222. author:        ?
  1223. how to get:    ?
  1224. description:    a tool to split up monolithic fortran programs
  1225. updated:    ?
  1226.  
  1227. language:    Fortran
  1228. package:    ?
  1229. version:    ?
  1230. parts:        ?
  1231. author:        Steve Mccrea <mccrea@gdwest.gd.com>
  1232. how to get:    ?
  1233. description:    a tool to split up monolithic fortran programs
  1234. requires:    new awk
  1235. updated:    ?
  1236.  
  1237. language:    Fortran
  1238. package:    Fortran77 -> Fortran90 converter
  1239. version:    ? 1
  1240. parts:        translator(Fortran 77 -> Fortran 90), documentation?
  1241. author:        metcalf@cernvm.cern.ch <Michael Metcalf>
  1242. how to get:    ftp pub/MandR/convert.f90 from jkr.cc.rl.ac.uk
  1243. description:    A Fortran77 to Fortran90 translator.  There's a number of
  1244.         significant differences between the two Fortrans that makes
  1245.         a package like this useful.
  1246. updated:    1993/07/17
  1247.  
  1248. language:    J
  1249. package:    J from ISI
  1250. version:    6
  1251. parts:        interpreter, tutorial
  1252. author:        Kenneth E. Iverson and Roger Hui <hui@yrloc.ipsa.reuter.com>
  1253. how to get:    ftp languages/apl/j/* from watserv1.waterloo.edu
  1254. description:    J was designed and developed by Ken Iverson and Roger Hui.  It
  1255.         is similar to the language APL, departing from APL in using
  1256.         using the ASCII alphabet exclusively, but employing a spelling
  1257.         scheme that retains the advantages of the special alphabet
  1258.         required by APL. It has added features and control structures
  1259.         that extend its power beyond standard APL.  Although it can be
  1260.         used as a conventional procedural programming language, it can
  1261.         also be used as a pure functional programming language.
  1262. ports:        Dec, NeXT, SGI, Sun-3, Sun-4, VAX, RS/6000, MIPS, Mac, Acorn
  1263.         IBM-PC, Atari, 3b1, Amiga
  1264. updated:    1992/10/31
  1265.  
  1266. language:    Ratfor
  1267. package:    ? ratfor ?
  1268. version:    ?
  1269. parts:        translator(Ratfor->Fortran IV)
  1270. author:        Brian Kernighan and P.J. Plauger (wrote the book anyway)
  1271. how to get:    comp.sources.unix archives volume 13
  1272. description:    Ratfor is a front end language for Fortran.  It was designed
  1273.         to give structured control structures to Fortran.  It is
  1274.         mainly of historical significance.
  1275. updated:    ?
  1276.  
  1277. language:    Y (cross between C and Ratfor)
  1278. package:    y+po
  1279. version:    ?
  1280. parts:        compiler
  1281. author:        Jack W. Davidson and Christopher W. Fraser
  1282. how to get:    ftp pub/y+po.tar.Z from ftp.cs.princeton.edu
  1283. description:    Davidson/Fraser peephole optimizer PO [1-3] [where the GCC RTL
  1284.         idea and other optimization ideas came from] along with the Y
  1285.         compiler [cross between C+ratfor] is ftpable from
  1286.         ftp.cs.princeton.edu: /pub/y+po.tar.Z.    It is a copy of the
  1287.         original distribution from the University of Arizona during the
  1288.         early 80's, totally unsupported, almost forgotten [do not bug
  1289.         the authors] old code, possibly of interest to
  1290.         compiler/language hackers.
  1291. reference:    Jack W. Davidson and Christopher W. Fraser, "The Design and
  1292.         Application of a Retargetable Peephole Optimizer", TOPLAS, Apr.
  1293.         1980.
  1294.         Jack W. Davidson, "Simplifying Code Through Peephole
  1295.         Optimization" Technical Report TR81-19, The University of
  1296.         Arizona, Tucson, AZ, 1981.
  1297.         Jack W. Davidson and Christopher W. Fraser, "Register
  1298.         Allocation and Exhaustive Peephole Optimization"
  1299.         Software-Practice and Experience, Sep. 1984.
  1300. status:        history
  1301. updated:    ?
  1302.  
  1303. electrical engineering languages
  1304. -------------------------------------------------------------------------------
  1305. category:    electrical engineering languages
  1306. description:    These are languages used for simulating, designing, and
  1307.         specifying circuits.
  1308.  
  1309. language:    CASE-DSP (Computer Aided Software Eng. for Digital Signal Proc)
  1310. package:    Ptolemy
  1311. version:    0.4.1
  1312. parts:        grahpical algorithm layout, code generator, simulator
  1313. author:        ?
  1314. how to get:    ftp pub/ptolemy/* from ptolemy.bekeley.edu
  1315. description:    Ptolemy provides a highly flexible foundation for the
  1316.         specification, simulation, and rapid prototyping of systems.
  1317.         It is an object oriented framework within which diverse models
  1318.         of computation can co-exist and interact.  For example, using
  1319.         Ptolemy a data-flow system can be easily connected to a
  1320.         hardware simulator which in turn may be connected to a
  1321.         discrete-event system, etc.  Because of this, Ptolemy can be
  1322.         used to model entire systems.
  1323.         In addition, Ptolemy now has code generation capabilities.
  1324.         from a flow graph description, Ptolemy can generate both C code
  1325.         and DSP assembly code for rapid prototyping.  Note that code
  1326.         generation is not yet complete, and is included in the current
  1327.         release for demonstration purposes only.
  1328. requires:    C++, C
  1329. ports:        Sun-4, MIPS/Ultrix; DSP56001, DSP96002.
  1330. status:        active research project
  1331. discussion:    ptolemy-hackers-request@ohm.berkeley.edu
  1332. contact:    ptolemy@ohm.berkeley.edu
  1333. updated:    1993/04/22
  1334.  
  1335. language:    EDIF (Electronic Design Interchange Format)
  1336. package:    Berkeley EDIF200 
  1337. version:    7.6
  1338. parts:        translator-building toolkit
  1339. author:        Wendell C. Baker and Prof A. Richard Newton of the Electronics 
  1340.         Research Laboratory, Department of Electrical Engineering and 
  1341.         Computer Sciences at the University of California, Berkeley, CA
  1342. how to get:    ftp from pub/edif in ic.berkeley.edu
  1343. description:    ?
  1344. restriction:    no-profit w/o permission
  1345. ports:        ?
  1346. updated:    1990/07
  1347.  
  1348. language:    Verilog, XNF
  1349. package:    XNF to Verilog Translator
  1350. version:    ?
  1351. parts:        translator(XNF->Verilog)
  1352. author:        M J Colley <martin@essex.ac.uk>
  1353. how to get:    ftp pub/dank/xnf2ver.tar.Z from punisher.caltech.edu
  1354. description:    This program was written by a postgraduate student as part
  1355.         of his M.Sc course, it was designed to form part a larger
  1356.         system operating with the Cadence Edge 2.1 framework. This
  1357.         should be born in mind when considering the construction
  1358.         and/or operation of the program.
  1359. updated:    ?
  1360.  
  1361. language:    VHDL
  1362. package:    ALLIANCE
  1363. version:    1.1
  1364. parts:        compiler, simulator, tools and environment, documentation
  1365. author:        ?
  1366. how to get:    ftp pub/cao-vlsi/alliance from ftp-masi.ibp.fr
  1367. description:    ALLIANCE 1.1 is a complete set of CAD tools for teaching
  1368.         Digital CMOS VLSI Design in Universities. It includes VHDL
  1369.         compiler and simulator, logic synthesis tools, automatic place
  1370.         and route, etc...  ALLIANCE is the result of a ten years effort
  1371.         at University Pierre et Marie Curie (PARIS VI, France).
  1372. ports:        Sun4, also not well supported: Mips/Ultrix, 386/SystemV
  1373. discussion:    alliance-request@masi.ibp.fr
  1374. contact:    cao-vlsi@masi.ibp.fr
  1375. updated:    1993/02/16
  1376.  
  1377. -- 
  1378. Send compilers articles to compilers@iecc.com or
  1379. {ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request@iecc.com.
  1380.  
  1381.